The present embodiments relate to volume rendering with masks. In particular, a dataset representing a volume with one or more regions not to be rendered is volume rendered.
For volume rendering, the user may specify one or more arbitrarily shaped regions for masking. Uninterested structures may be masked from the volume data. In typical applications, the user draws 2D curves that are extruded or extrapolated along the viewing frustum to create the 3D geometric regions. The resulting regions are punching masks or regions.
The punching masks are used in volume rendering to avoid rendering these regions. The geometric punching information is converted to a punching volume defining, for each voxel, whether the voxel is masked out. This voxelization process transforms a contiguous geometric description into a discrete volume representation, resulting in information loss. Typically, the punching volume is treated as a discrete binary volume mask. Rendering of the binary mask generates staircase surfaces that do not exist in the original punching geometry. This voxelization process can also be time-consuming, and storing the punching volume requires extra memory.
Using a fuzzy volume instead of a binary mask may reduce the staircase artifacts. However, the fuzzy volume requires even more memory and only renders visually smooth surfaces. There is no guarantee that the fuzzy volume approach accurately reproduces the original boundaries between punched and non-punched regions.